//Accepted
#include <vector>
#include <set>
#include <algorithm>
#include <string>
#include <cmath>
#include <queue>
#include <map>
#include <iostream>
#include <list>
#include <deque>
#include <cstdio>
#include <cstring>
#include <cstdlib>
using namespace std;

typedef struct aaaa{
	int i, j;
}ponto;
vector<ponto> v;
ponto t, x;
int main (){
	//freopen("in.txt", "r", stdin);freopen("out.txt", "w", stdout);
	
	char a[8][9], i, j, d[][2]={{0,1},{0,-1},{1,0},{-1,0},{1,1},{-1,-1},{-1,1},{1,-1}}, k, s, ii, jj;
	bool ok;
	for(i=0;i<8;++i){
		scanf("%s", a[i]);
	}
	s=0;
	for(i=0;i<8;++i){
		for(j=0;j<8;++j){
			if(a[i][j]=='S'){
				t.i=i;
				t.j=j;
				v.push_back(t);
				++s;
			}
		}
	}
	while(s){
		for(i=0;i<8;++i){
			for(j=7;j>=0;--j){
				if(a[i][j]=='M'){
					for(k=0;k<8;++k){
						ii=i+d[k][0];
						jj=j+d[k][1];
						if(0<=ii&&ii<8&&0<=jj&&jj<8){
							if(a[ii][jj]!='S'){
								
								a[ii][jj]='M';
							}
						}
					}
				}
			}
		}
		//for(i=0;i<8;++i)printf("%s\n", a[i]);printf("%d\n", s);
		for(i=v.size()-1;i>=0;--i){
			if(v[i].i<8){
				a[v[i].i][v[i].j]='.';
				v[i].i++;
				if(v[i].i<8)a[v[i].i][v[i].j]='S';
				else s--;
			}
		}
	}
	
	ok=1;
	for(i=0;i<8;++i){
		for(j=0;j<8;++j){
			if(a[i][j]=='M')ok=0;
		}
	}
	if(ok)printf("LOSE");
	else printf("WIN");
	
	
	
	return 0;
}
